package class202205.demo05.demo04;



interface IShape{
   /* //成员变量   默认静态常量  必须初始化 (写不写都一样)
    public static final int a = 10;

    //成员方法
    //public abstract void func();//接口里面的方法是默认抽象方法
    default void func(){
        System.out.println("默认的方法！");//如果接口当中的方法 需要一个具体的实现  必须用default来修饰
    }
    public static void staticFunc(){
        System.out.println("静态方法！");//接口当中的静态方法可以有具体的实现
    }*/
    void draw();

}
class Circle implements IShape {   //一个普通的类可以通过implemengts来实现这个接口  另外:重写抽象方法

    @Override
    public void draw() {
        System.out.println("⚪");
    }
}
class Rect implements IShape {
    @Override
    public void draw() {
        System.out.println("♦");
    }
}
class Triangle implements IShape {
    @Override
    public void draw() {
        System.out.println("🔺");
    }
}

  /*  @Override
    public void func() {
        System.out.println("adiashgd");
    }*/


public class Test {

        public static void drawMap(IShape shape){
            shape.draw();
        }

        public static void main(String[] args) {
            //Shape shape = new Shape();    //1、抽象类不能进行实例化
            Circle circle = new Circle();
            Rect rect = new Rect();
            Triangle triangle = new Triangle();
            drawMap(circle);
            drawMap(rect);
            drawMap(triangle);
        }
        //IShape iShape = new IShape();  //接口不能实例化
        /*IShape iShape = new A();
        iShape.draw();
        iShape.func();
        IShape.staticFunc();*/
}
